package escuela.tpfinal.cotizadorTPS.cotizacion;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import escuela.tpfinal.cotizadorTPS.cliente.ClienteRepository;;

@Controller
@RequestMapping(value="/cotizacion")
public class CotizacionController {
	
	@Autowired
	private CotizacionRepository cotizacionRepository;
	@Autowired
	private ClienteRepository clienteRepository;

	@RequestMapping(value="/listar")
	public void listar(ModelMap modelMap, @RequestParam(value="id_cliente") Long id_cliente) {
		List<Cotizacion> cotizaciones = cotizacionRepository.findByCliente(clienteRepository.findById(id_cliente));
		System.out.println("hay cotizaciones " + cotizaciones.size());
		modelMap.addAttribute("listaCotizaciones", cotizaciones);
		modelMap.addAttribute("id_cliente", id_cliente);
	}
	
	@RequestMapping(value="/crear")
	public CotizacionForm crear(@RequestParam(value="id_cliente") Long id_cliente) {
		System.out.println("crear GET");
		CotizacionForm cotizacionForm = new CotizacionForm();
		cotizacionForm.setCliente(clienteRepository.findById(id_cliente));
		return cotizacionForm;
	}

	@RequestMapping(value="/crear", method = RequestMethod.POST)
	public String crear(@ModelAttribute CotizacionForm cotizacionForm, @RequestParam(value="id_cliente") Long id_cliente) {
		System.out.println("crear POST");
		cotizacionForm.setCliente(clienteRepository.findById(id_cliente));
		cotizacionRepository.save(cotizacionForm.createCotizacion());
		return "redirect:/cotizacion/listar?id_cliente="+id_cliente;
	}
}
